// 蜂窝蜜造平台生成代码，如手工更改，请添加到 .beeignore 忽略生成

package com.fowo.api.model.sell.order;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fowo.api.sys.entity.SysFile;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.List;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

/**
 * SellOrder 列表项类
 */
@Getter
@Setter
@Schema(title = "订单列表 列表项")
public class SellOrderItemVo implements Serializable {

  /**
   * 编号
   */
  @Schema(title = "编号")
  private Long id;

  /**
   * 创建时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "创建时间")
  private java.util.Date createTime;

  /**
   * 创建人
   */
  @Schema(title = "创建人")
  private Long createUser;

  /**
   * 更新时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "更新时间")
  private java.util.Date lastUpdateTime;

  /**
   * 更新人
   */
  @Schema(title = "更新人")
  private Long lastUpdateUser;

  /**
   * 删除标记
   */
  @Schema(title = "删除标记")
  private Boolean delFlag;

  /**
   * 店铺
   */
  @Schema(title = "店铺")
  private Long sid;

  /**
   * 关联店铺的名称
   */
  @Schema(title = "关联店铺的名称")
  private String sidShopName;

  /**
   * 国家
   */
  @Schema(title = "国家")
  private Long country;

  /**
   * 关联国家的名称
   */
  @Schema(title = "关联国家的名称")
  private String countryName;

  /**
   * 订单号
   */
  @Schema(title = "订单号")
  private String amazonOrderId;

  /**
   * 配送方式
   */
  @Schema(title = "配送方式")
  private String fulfillmentChannel;

  /**
   * 买家姓名
   */
  @Schema(title = "买家姓名")
  private String buyerName;

  /**
   * 买家邮箱
   */
  @Schema(title = "买家邮箱")
  private String buyerEmail;

  /**
   * 订单总额
   */
  @Schema(title = "订单总额")
  private String orderTotalAmount;

  /**
   * 订单金额币种
   */
  @Schema(title = "订单金额币种")
  private String currency;

  /**
   * 订单金额币种符号
   */
  @Schema(title = "订单金额币种符号")
  private String icon;

  /**
   * 订购时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "订购时间")
  private java.util.Date purchaseDateLocal;

  /**
   * 备注
   */
  @Schema(title = "备注")
  private String remark;

  /**
   * 请求评论状态
   */
  @Schema(title = "请求评论状态")
  private String requestReviewStatus;

  /**
   * 状态
   */
  @Schema(title = "状态")
  private String orderStatus;

  /**
   * 是否为推广订单
   */
  @Schema(title = "是否为推广订单")
  private Boolean isAssessed;

  /**
   * 是否多渠道订单
   */
  @Schema(title = "是否多渠道订单")
  private Boolean isMcfOrder;

  /**
   * 是否为退货订单
   */
  @Schema(title = "是否为退货订单")
  private Boolean isReturnOrder;

  /**
   * 是否已换货
   */
  @Schema(title = "是否已换货")
  private Boolean isReplacedOrder;

  /**
   * 是否为换货订单
   */
  @Schema(title = "是否为换货订单")
  private Boolean isReplacementOrder;

  /**
   * 订单更新时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "订单更新时间")
  private java.util.Date lastUpdateDate;

  /**
   * 付款时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "付款时间")
  private java.util.Date postedDate;

  /**
   * 发货日期
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "发货日期")
  private java.util.Date shipmentDate;

  /**
   * 配送服务
   */
  @Schema(title = "配送服务")
  private String shipServiceLevel;

  /**
   * 物流商
   */
  @Schema(title = "物流商")
  private String carrier;

  /**
   * 运单号
   */
  @Schema(title = "运单号")
  private String trackingNumber;

  /**
   * 送货预计
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "送货预计")
  private java.util.Date earliestDeliveryDate;

  /**
   * 收件人
   */
  @Schema(title = "收件人")
  private String name;

  /**
   * 邮编
   */
  @Schema(title = "邮编")
  private String postalCode;

  /**
   * 电话
   */
  @Schema(title = "电话")
  private String phone;

  /**
   * 地址
   */
  @Schema(title = "地址")
  private String address;

  /**
   * 发货地址
   */
  @Schema(title = "发货地址")
  private String shippingAddress;

  /**
   * 是否为B2B订单
   */
  @Schema(title = "是否为B2B订单")
  private Boolean isBusinessOrder;

  /**
   * 是否prime订单
   */
  @Schema(title = "是否prime订单")
  private Boolean isPrime;

  /**
   * 是否优先配送订单
   */
  @Schema(title = "是否优先配送订单")
  private Boolean isPremiumOrder;

  /**
   * 是否促销订单
   */
  @Schema(title = "是否促销订单")
  private Boolean isPromotion;

  /**
   * 费用是否含税
   */
  @Schema(title = "费用是否含税")
  private Boolean taxesIncluded;

  /**
   * 商品信息 多行的 图片
   */
  @Schema(title = "图片")
  private List<List<SysFile>> detailsImg;

  /**
   * 商品信息 多行的 标题
   */
  @Schema(title = "标题")
  private List<String> detailsTitle;

  /**
   * 商品信息 多行的 ASIN
   */
  @Schema(title = "ASIN")
  private List<String> detailsAsin;

  /**
   * 商品信息 多行的 MSKU
   */
  @Schema(title = "MSKU")
  private List<String> detailsSellerSku;

  /**
   * 商品信息 多行的 数量
   */
  @Schema(title = "数量")
  private List<Integer> detailsQuantityOrdered;

  /**
   * 商品信息 多行的 本地产品
   */
  @Schema(title = "本地产品")
  private List<Long> detailsProductId;

  /**
   * 商品信息 多行的 本地产品 关联标题
   */
  @Schema(title = "本地产品 关联标题")
  private List<String> detailsProductIdName;

  /**
   * 商品信息 多行的 SKU
   */
  @Schema(title = "SKU")
  private List<String> detailsSku;

  /**
   * 商品信息 多行的 商品促销编号
   */
  @Schema(title = "商品促销编号")
  private List<String> detailsPromotionIds;

  /**
   * 销售渠道
   */
  @Schema(title = "销售渠道")
  private String salesChannel;

  /**
   * 付款方式
   */
  @Schema(title = "付款方式")
  private String paymentMethod;

  /**
   * 发货时限
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "发货时限")
  private java.util.Date earliestShipDate;

  /**
   * 最晚发货时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "最晚发货时间")
  private java.util.Date latestShipDate;

  /**
   * 最晚送达时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "最晚送达时间")
  private java.util.Date latestDeliveryDate;

  /**
   * 卖家订单号
   */
  @Schema(title = "卖家订单号")
  private String sellerOrderNumber;

  /**
   * 工作流状态
   */
  @Schema(title = "工作流状态")
  private Integer wfStatus;
}
